package com.huangliusong;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;



public class CountExamplehls {

    // 请求总数
    public static int clientTotal = 5000;

    // 同时并发执行的线程数
    public static int threadTotal = 200;

    public static int count = 0;

    public static void main(String[] args) {
    		ExecutorService exec=Executors.newCachedThreadPool();
    		final Semaphore semaphore=new Semaphore(threadTotal);
    		for(int i=0;i<clientTotal;i++) {
    			exec.execute(()->{
    				try {
						semaphore.acquire();
						add();
						semaphore.release();
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
    			});
    		}
    		System.out.println(count);
    		exec.shutdown();
    }
    private static void add() {
        count++;
    }
}
